/**
 * @名称: plug of jquery
 * @日期: 2020.03.12
 * @作者: yuguoliang
 * @博客：http://www.web000.cn/
 */
//扩展$.fn.extend
;(function ($, window, document, undefined) {
    //构造函数
    function Plugs(ele, opts) {
        let _self = this;
        _self.opts = opts;

        //暴露的方法
        $.extend(this, {
            click: function (i, e) {

            },
            add: function (i, e) {

            },
        })
    }

    //原型方法
    Plugs.prototype.add = function () {

    };

    //插件主体
    $.fn.plug = function (setting) {
        let defaults = {
            //各种参数，各种属性
        };
        //合并参数
        let options = $.extend({}, defaults, setting);
        //使用data储存数据
        let el = this.data("tabs");
        if (el) {
            el.destroy();
            this.removeData("tabs");
        }
        //遍历所有元素 这里外部的this是jquery对象
        this.each(function () {
            //这里的this是each函数内地对象，是dom对象而不是jquery对象
            el = new Plugs(this, options);
            $(this).data("tabs", el);
        })
        //返回
        return options.api ? el : this;
    }

    $.fn.plug = function (setting) {
        let defaults = {
            //各种参数，各种属性
        };
        //合并参数
        let options = $.extend({}, defaults, setting);

        //遍历所有元素 这里外部的this是jquery对象
        return this.each(function () {
            //这里的this是each函数内地对象，是dom对象而不是jquery对象
            new Plugs(this, options);
        })
    }
})(jQuery, window, document);

//扩展$.extend
;(function ($, window, document, undefined) {
    //构造函数
    function Days() {
        let _self = this;

        //暴露的方法
        $.extend(this, {
            click: function (i, e) {

            },
            add: function (i, e) {

            },
        })
    }

    //原型方法
    Days.prototype.add = function () {

    };

    $.days = function () {
        return new Days();
    }
})(jQuery, window, document);
